framebuf模块提供了一个通用的帧缓冲区,可用于创建位图图像,然后将其发送到显示屏。
类
framebuf.FrameBuffer(buffer, width, height, format, stride=width)
类说明:构造一个FrameBuffer对象。
buffer:缓冲区
必须足够大以包含由FrameBuffer指定的width,height和format
width:宽度,单位:像素
height:高度,单位:像素
format:FrameBuffer的格式
framebuf.MONO_VLSB、framebuf.RGB565、framebuf.GS4_HMSB、framebuf.MONO_HLSB、framebuf.MONO_HMSB
stride:水平线的像素数
默认为width
定义FrameBuffer
示例:
import framebuf
buffer = bytearray(16*8)
fb = framebuf.FrameBuffer(buffer, 128, 64, framebuf.MVLSB)
函数
1. framebuf.FrameBuffer.fill(c)
函数说明: 填充指定颜色。
c:数值范围根据颜色格式来确定
示例:
fb.fill(1)
2. framebuf.FrameBuffer.pixel(x, y[, c])
函数说明: 画点。
x,y:点坐标(x, y)
c :点颜色
3.framebuf.FrameBuffer.hline(x, y, w, c)
函数说明: 画水平线。
x,y:水平线起始点坐标(x, y)
w :线长
c :线的颜色
4. framebuf.FrameBuffer.vline(x, y, h, c)
函数说明: 画垂直线。
x,y:垂直线的起始点坐标(x, y)
h :垂直线的高度
c :线的颜色
5. framebuf.FrameBuffer.line(x1, y1, x2, y2, c)
函数说明: 画任意方向的线。
x1,y1:线的始点坐标(x1, y1)
x2,y2:线的终点坐标(x2, y2)
c :线的颜色
6. framebuf.FrameBuffer.rect(x, y, w, h, c)
函数说明: 画矩形。
x,y:矩形的起始点坐标(x, y)
w :宽度
h :高度
c :矩形边的颜色
7. framebuf.FrameBuffer.fill_rect(x, y, w, h, c)
函数说明: 画矩形,并以颜色填充它。
x,y:矩形起始点坐标(x, y)
w :宽度
h :高度
8. framebuf.FrameBuffer.scroll(xstep, ystep)
函数说明: 按照给定的向量(dx, dy)移动屏幕中的内容。
dx:水平方向移动的距离和方向
dx为正数时向右移动,为负数时向左移动
dy:垂直方向移动的距离和方向
dy为正数时向下移动,为负数时向上移动
示例:
fb.scroll(10,10)
9. frameBuffer.text(s, x, y[, c =1])
函数说明: 写任意文本 。
s:要显示的字符串
x,y:字符串的坐标(x, y)
c:字符串颜色
注意:
文本的颜色默认值为1。所有字符的尺寸为8x8像素,目前无法更改字体。
10. framebuf.FrameBuffer.blit(fbuf, x, y[, key ])
函数说明: 在当前FrameBuffer的指定坐标再创建一个FrameBuffer对象。如果指定了key值,则其对应的颜色是透明的:即不会画出与key指定的颜色相同的像素。若成功,则返回一个FrameBuffer对象。
fbuf:FrameBuffer对象
x,y:起始点坐标(x, y)
key:指定对应颜色为透明
示例:
buffer = bytearray (16*64)
fb1 = framebuf.FrameBuffer(buffer,128,64, framebuf.MVLSB)
fb2 = framebuf.FrameBuffer(buffer,128,64, framebuf.MVLSB)
fb2.blit(fb1,0,0)
宏
设置用于对颜色值进行编码的位数以及缓冲区中这些(二进制)位的布局。
- framebuf.MVLSB = 0
- framebuf.MONO_VLSB = 0 — 单色(1字节),定义1字节的bit位对应垂直方向的像素点
- framebuf.RGB565 = 1 — 红绿蓝(16位,5 + 6 + 5)颜色
- framebuf.GS4_HMSB = 2 — 灰度(4位)
- framebuf.MONO_HLSB = 3 — 单色(1位),定义1字节的bit位对应水平方向像素点
- framebuf.MONO_HMSB = 4 — 单色(1位),定义1字节中bit位对应水平方向的像素点